Location: The Physics of Physiology - Example 2: A mechanical system @ 876412672213 / FAIRDO BG example 3.2.cellml

Author:
David Nickerson <david.nickerson@gmail.com>
Date:
2024-01-10 23:43:08+13:00
Desc:
Adding initial example CellML model and SED-ML. Example files obtained from Peter Hunter and match the FAIR DOs lecture notes from January 2024.
Permanent Source URI:
http://models.cellml.org/workspace/aee/rawfile/87641267221397d0c7020adb41f483091416fedc/FAIRDO BG example 3.2.cellml

<?xml version='1.0' encoding='UTF-8'?>
<model name="BG2" xmlns="http://www.cellml.org/cellml/1.1#" xmlns:cellml="http://www.cellml.org/cellml/1.1#">
    <!-- Bond graph model of mechanical system-->
    <units name="J_per_m">
        <unit units="joule"/>
        <unit exponent="-1" units="metre"/>
    </units>
    <units name="m_per_s">
        <unit units="metre"/>
        <unit exponent="-1" units="second"/>
    </units>
    <units name="m_per_s2">
        <unit units="metre"/>
        <unit exponent="-2" units="second"/>
    </units>
    <units name="m2_per_J">
        <unit exponent="2" units="metre"/>
        <unit exponent="-1" units="joule"/>
    </units>
    <units name="Js_per_m2">
        <unit units="joule"/>
        <unit units="second"/>
        <unit exponent="-2" units="metre"/>
    </units>
    <units name="Js2_per_m2">
        <unit units="joule"/>
        <unit exponent="2" units="second"/>
        <unit exponent="-2" units="metre"/>
    </units>
    <component name="main">
        <variable initial_value="0" name="t" units="second"/>
        <!-- State variables-->
        <variable initial_value="1" name="q_1" units="metre"/>
        <variable initial_value="0" name="v_1" units="m_per_s"/>
        <variable name="a_1" units="m_per_s2"/>
        <variable name="u_C" units="J_per_m"/>
        <variable name="u_R" units="J_per_m"/>
        <variable name="u_L" units="J_per_m"/>
        <!-- Constitutive parameters-->
        <variable initial_value="20" name="C" units="m2_per_J"/>
        <variable initial_value="0.1" name="R" units="Js_per_m2"/>
        <variable initial_value="10" name="L" units="Js2_per_m2"/>
        <!-- Conservation laws-->
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q_1</ci>
                </apply>
                <ci>v_1</ci>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>v_1</ci>
                </apply>
                <ci>a_1</ci>
            </apply>
            <apply>
                <eq/>
                <ci>u_C</ci>
                <apply>
                    <minus/>
                    <apply>
                        <minus/>
                        <ci>u_R</ci>
                    </apply>
                    <ci>u_L</ci>
                </apply>
            </apply>
            <!-- Constitutive relations-->
            <apply>
                <eq/>
                <ci>u_C</ci>
                <apply>
                    <divide/>
                    <ci>q_1</ci>
                    <ci>C</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>u_R</ci>
                <apply>
                    <times/>
                    <ci>v_1</ci>
                    <ci>R</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>u_L</ci>
                <apply>
                    <times/>
                    <ci>a_1</ci>
                    <ci>L</ci>
                </apply>
            </apply>
        </math>
    </component>
</model>